home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_0399 / 65 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  2.0 KB

  1. Subject: Re: Colour. 
  2. Date: Tue, 31 May 94 12:01:49 +0100
  3. From: sjg
  4. X-Mts: smtp
  5. Precedence: bulk
  6.  
  7.  
  8. I think the idea of using a MultiTOS app is the best method so far - Have a 
  9. program that functions as APP or ACC and run it (if you need a cms in single-
  10. tasking mode) as an accessory.
  11.  
  12. If all apps do get WM_TOPPED messages (can anyone confirm this ? I haven't
  13. tried... I knew there was a reason I always looked at msg[3] on getting the
  14. message :-) then the functionality can be further enhanced...
  15.  
  16. In client program:
  17.  
  18. After appl_init() & wind_create()
  19. call cmsRegister(winId, struct CMS_t *CMSinfo)   ...
  20.  
  21. which registers a given window with any and all info needed. This can be a 
  22. library routine that calls appl_find() (under newer AES's - is there a way 
  23. under older ones? I'm pretty sure GFA basic could find the ID if it knew the 
  24. name (eg: SCRENMGR) so it ought to be possible), then sends a message with the 
  25. whole struct going down the tube.  We'd have to send all the info because 
  26. otherwise
  27. memory protection may raise its ugly head. Anyway - transfer info. (use shm if
  28. at all possible - is Mag!x going to support this ?)
  29.  
  30. In server program:
  31.  
  32. On getting a WM_TOPPED message, check the window Id. If it's a known id then
  33. set the palette to what the window requested.
  34.  
  35. If it's an unknown id, then wait a bit (to give the app time to set the 
  36. palette)
  37. and read the current VDI palette - setting it then as a known id. That way we
  38. learn the palette for apps that don't know about multi-tasking. Since we'll 
  39. read the palette the 1st time (assuming the user isn't TOPping like mad) we'll
  40. be able to reset the palette back to anything it has been set to on a TOP and
  41. it'll be transparent to the application.
  42.  
  43. The beauty is in the simplicity. All you do is register a palette with a window
  44. in the 'aware' case, and it learns in the 'ignorant' case.
  45.  
  46. I'm probably missing something pretty major - this seems too simple.
  47.  
  48. Simon.
  49.  
  50. (BTW: I formally retract any statement that the traffic on this list is low - 
  51.       it now competes with Xfire :-)
  52.  
  53.